package HomeWork.map;

import java.util.ArrayList;
import java.util.List;

public class TeamFilter {
    public static void main(String[] args) {
        ArrayList<String> team1 = new ArrayList<>();
        team1.add("陈玄风");
        team1.add("梅超风");
        team1.add("风清扬");
        team1.add("解风");
        team1.add("风波恶");
        team1.add("陆乘风");
        team1.add("曲灵风");
        team1.add("武眠风");
        team1.add("冯默风");
        team1.add("陆小风");

        ArrayList<String> team2 = new ArrayList<>();
        team2.add("宋远桥");
        team2.add("俞莲舟");
        team2.add("俞岱岩");
        team2.add("张松溪");
        team2.add("张翠山");
        team2.add("殷梨亭");
        team2.add("莫声谷");

        /*
            请使用流依次完成如下操作：
            1、从第一个队伍中筛选出名字为3个字并且以“风”字结尾的人，筛选之后，只保留前6个。
            2、从第二个队伍中筛选出姓张的人员，筛选之后，不要第一个。
            3、将两个筛选结果合并为一个队伍。
            4、将结果队伍中的字符串姓名作为Student对象的属性，创建Student对象，将集合中的元素都更改为Student类型。
            5、将得到的Student对象收集到List集合中
            6、遍历得到的List集合并打印Student对象信息
         */

        List<Student> students1 = team1.stream().filter(e -> e.endsWith("风")).limit(6).map(Student::new).toList();
        List<String> students2 = team2.stream().filter(e -> e.startsWith("张")).skip(1).toList();
        System.out.println(students1);
        System.out.println(students2);
    }
}
class Student {
    private String name;
    public Student(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                '}';
    }
}
